<?php
/**
 * Arquivo da Classe VListaEdicao
 * @author Alan Gustavo Santana Ribeiro <alan@prrn.mpf.gov.br> em 25/08/2008
 * @version 1.0
 * @package gc
 */

/**
 * classe VListaEdicao
 * Classe de Vis�o - Tabula dados para edi��o e exclus�o. Utiliza a Classe
 * VTabala.
 */
 //include_once('VTabela.class.php');

class VTabulacaoDiv extends VTabela {
  protected $totalRegistros;
  protected $pagina;
  protected $tamanho_pagina;
  protected $total_paginas;

  public function VListaEdicaoPaginada($conexao, $sql, $nomeTabela=null, $id='VTabela') {
      $this->cr 		= new Consulta($conexao, $sql);
      $totReg			= $this->cr->getQtdeLinhas();
      $TAM_PAGINA 		= $_GET["tam"];
      $TAM_PAGINA		= empty ($TAM_PAGINA)?10:$TAM_PAGINA;
      $total_paginas 	= ceil($totReg / $TAM_PAGINA);


      if (isset($_GET["pag"])){
    		$pagina = $_GET["pag"];
			$_SESSION["pag"] = $pagina;
      } else {
    		$pagina = $_SESSION["pag"];
      }
      if (!$pagina) {
          $inicio = 0;
          $pagina = 1;
      } else {
          $inicio = ($pagina - 1) * $TAM_PAGINA;
      }
      $this->tamanho_pagina 	= $TAM_PAGINA;
      $this->totalRegistros		= $totReg;
      $this->pagina				= $pagina;
      $this->total_paginas		= $total_paginas;

      $sql 		= $sql . " LIMIT $inicio , $TAM_PAGINA ";
      parent::__construct($conexao, $sql, $nomeTabela, $id);
  }

  public function getLista(){
    $this->tabela .= "<div $this->classe>\n";
    //$this->tabela .= $this->getCabecalho();
    $this->tabela .= $this->getDados();
    $this->tabela .= "</div>\n";
    return $this->tabela;
  }

  public function getTabela(){
        $this->getLista();
	//VTabela::getTabela();
	$this->tabela .= "\n<div id='paginacao'>\n";
	// Vamos Exibir apenas 10 p�ginas por Vez
	$pgIni = $this->pagina - 5;
	$pgFim = $this->pagina + 5;
	$filtro= isset($_GET["pesquisa"])?$_GET["pesquisa"]:null;
	if($pgIni <=0){
		$pgIni = 1;
		$pgFim = 10;
		if($pgFim > $this->total_paginas){
			$pgFim = $this->total_paginas;
		}
	}
	if($pgFim > $this->total_paginas){
		$pgFim = $this->total_paginas;
		$pgIni = $this->total_paginas - 10;
		if($pgIni <= 0){
			$pgIni = 1;
		}
	}
	$anterior = $this->pagina - 1;
	$proximo  = $this->pagina + 1;
	if($anterior > 0) {
		$this->tabela .= "\t<a href='?pag=1&pesquisa=$filtro'>Primeiro</a>&nbsp;\n";
		$this->tabela .= "\t<a href='?pag=$anterior&pesquisa=$filtro'>Anterior </a>&nbsp;\n";
	}

	for	($i = $pgIni; $i <= $pgFim; $i++){
		if($i==$this->pagina) {
	  		$this->tabela .= "\t<b>$i</b>&nbsp;\n";
		} else {
			$this->tabela .= "\t<a href='?pag=$i&pesquisa=$filtro'>$i</a>&nbsp;\n";
		}
	}
	if($proximo < $this->total_paginas) {
		$ultimo = $this->total_paginas;
		$this->tabela .= "\t<a href='?pag=$proximo&pesquisa=$filtro'>Proximo</a>&nbsp;\n";
		$this->tabela .= "\t<a href='?pag=$ultimo&pesquisa=$filtro'>Ultimo</a>&nbsp;\n";
	}


	$this->tabela .= "\n</div>\n";
	return $this->tabela;
  }
    public function getQtdeLinhas() {
        return $this->totalRegistros;
    }
    
    public function getCabecalho(){
        $campos = $this->cr->getCampos();
        $html = "\t</tr>\n";
        foreach ($campos as $campo) {
                $html .= "\t\t<th>". strtoupper($campo) . "</th>\n";
        }
        $html .= "\t</tr>\n";
        return $html;
    }

    public function getDados() {
        $dados 	= $this->cr->getResultados();
        $campos = $this->cr->getCampos();
        $ln		= "Par";
        $html = '';
        foreach ($dados as $linha) {
            $html	.= "\t<div class='Acompanhamento {$ln} Lista'>\n";
            $html .=
                "
                    <span class='Acompanhamento Itens Data'>{$linha['data']}</span><strong class='Acompanhamento Itens Nome' title='{$linha['email']}'>{$linha['nome']}</strong> escreveu:<br>
                    <p class='Acompanhamento Itens Texto'>{$linha['texto']}</p>
                ";
            $html .= "\t</div>\n";
            $ln = $ln=="Par"?"Impar":"Par";
        }
        return $html;
    }
}
?>